#pragma once
#include "myString.h"
class MyString;

class Counter
{
    Counter* pNext;
    char* m_pStr;
    size_t m_owners;

    static Counter* Head;//��� ������ ����������� ����� ��� ����������
    static size_t m_curCounters;

    Counter(const char* );//�����������(������������)
   // Counter(MyString&);
  //  Counter(char*);
    //???
    static Counter* CreateCounter(const char*); //
    void AddOwner();//�������� ������������
    void RemoveOwner(); // ������ ������������(���� ������������ ���������, �� ������ ������ �� �����
    ~Counter(); //����������

    void Swap(Counter*); //�������� ������������������

    friend class MyString;
    friend std::ostream& operator<<(std::ostream& os, const MyString& str);
};